home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 11 / FM Towns Free Software Collection 11.iso / t_os / data / dora / doratgk.plp < prev    next >
Text File  |  1995-07-07  |  13KB  |  389 lines

  1. /*    BBS-NETでの処理から一つ取り出す    */
  2. %tgk    {[n]
  3.     var a[26];var b[12];var onenif[300];
  4.     onenif:=@getline(TGK,n,1);
  5.     case(@nth(onenif,1,{/}),
  6.         {ボード},{b:={ボード}},{再ログイン},{b:={再ログイン}},
  7.         ,{b:=@nth(onenif,1,{/})});
  8.     case(@nochar(onenif),
  9.         0,{a:={                    }},2,{a:={                    }},
  10.         ,{a:=b|{/}|@nth(onenif,3,{/})|{/}|
  11.             @head(@nth(onenif,2,{/}),{,})});
  12.     case(@nochar(n)=1,{Yes},{a:={0}|n|{:}|a},{No},{a:=n|{:}|a});im(a);
  13.     };
  14. /*    BBS-NETでの処理実行日の指定    */
  15. %date{    select({実行する日を指定して下さい}|{  現在は }|@d2|{ です},
  16.         Wtime4,{im(d1)},
  17.         { 毎  日 },{im({毎日})},{ 奇数日 },{im({奇数})},
  18.         { 偶数日 },{im({偶数})},{ 日  曜 },{im({日曜})},
  19.         { 月  曜 },{im({月曜})},{ 火  曜 },{im({火曜})},
  20.         { 水  曜 },{im({水曜})},{ 木  曜 },{im({木曜})},
  21.         { 金  曜 },{im({金曜})},{ 土  曜 },{im({土曜})},
  22.         {毎月 1日},{im({01日})},{毎月05日},{im({05日})},
  23.         {毎月10日},{im({10日})},{毎月15日},{im({15日})},
  24.         {毎月20日},{im({20日})},{毎月25日},{im({25日})},
  25.         {毎月30日},{im({30日})},
  26.         {複数指定},{SNDMSG({nyuryo_f.snd});
  27.                 %dat @input({実行する日を入力して下さい\n}|
  28.                     {カンマ「,」で区切って複数指定可\n}|
  29.                     {例  奇,火,木,日,01,30},,
  30.                         @body(d1,{,},{,}));
  31.                 im({複数,}|dat|{,終わり})},
  32.         {設定なし},{im({未定})});
  33.     };
  34. /*    実行日表示用    */
  35. %d2     {case(d1,
  36.         {毎日},{im({毎  日})},{奇数},{im({奇数日})},
  37.         {偶数},{im({偶数日})},{日曜},{im({日  曜})},
  38.         {月曜},{im({月  曜})},{火曜},{im({火  曜})},
  39.         {水曜},{im({水  曜})},{木曜},{im({木  曜})},
  40.         {金曜},{im({金  曜})},{土曜},{im({土  曜})},
  41.         {01日},{im({毎月 1日})},{05日},{im({毎月 5日})},
  42.         {10日},{im({毎月10日})},{15日},{im({毎月15日})},
  43.         {20日},{im({毎月20日})},{25日},{im({毎月25日})},
  44.         {30日},{im({毎月30日})},{未定},{im({設定無し})},
  45.         {未設定},{im({未設定})},,{im({複数指定})})};
  46. /*    設定情報をファイルに保存する    */
  47. %writeTG{setcdir(CDIR);copyfile(TGKFILE,{ DORATGK.BAK});delfile(TGKFILE);
  48.     write(TGKFILE,{TGK    :=}|@xc({7b})|TGK|@xc({7d})|{;\n});
  49.     SETFILE2:={標準設定};
  50.     };
  51. /*    設定情報をもとに戻す    */
  52. %CANCEL    {SNDMSG({erande_f.snd});
  53.     footnote({本当にもとに戻してもいいですか?});
  54.     select({本当にもとに戻してもいいですか?},
  55.         Wtime4,,
  56.         { O K },
  57.         {case    (@filechk(TGKFILE),
  58.             {Yes},
  59.             {setcdir(CDIR);#DORATGK.SET;
  60.             TGK:=@LINECUT(TGK);
  61.             SETFILE2:={標準設定}})},
  62.         { N G },);
  63.     };
  64. /*    ボードNo.の指定    */
  65. %setBOARD{[n]
  66.     var forum [8];var mes [300];var lib [300];var d1 [40];
  67.     %TGK1    @getline(TGK,n,1);
  68.     d1:=    @case(@nth(TGK1,2,{/}),{},{im({未設定})},
  69.                     ,{im(@nth(TGK1,2,{/}))});
  70.     forum:=    @nth(TGK1,3,{/});
  71.     mes:=@case    (@nth(TGK1,4,{/}),
  72.             {ALL},{im(@nth(TGK1,4,{/}))},
  73.             {ALL},{im(@nth(TGK1,4,{/}))},
  74.             {all},{im(@nth(TGK1,4,{/}))},
  75.             ,{im(@To3(@nth(TGK1,4,{/})))}
  76.             );
  77.  
  78.     lib:=    @To3(@nth(TGK1,5,{/}));
  79.     moveline:=@xlinenum;
  80.     loop    ({
  81.     footnote({巡回するボードを設定してください});SNDMSG({nyuryo_f.snd});
  82.         %a @plane(
  83.             {cネット名「}|NET|{」を指定してください\n}|
  84.             {t  ネット名      /xxxxxx\n}|
  85.             {c巡回するボードを設定してください\n}|
  86.             {c    「ALL」とすると全てのボードを巡回します\n}|
  87.             {t  ボード番号            /\n}|
  88.             {s  検索                  /  巡回内容 \n}|
  89.             {c    指定された会議室の未読を読みます\n}|
  90.             {c    カンマ「,」で区切って複数指定可(「#」は省略して下さい\n}|
  91.             {t  ファイルボード番号    /\n}|
  92.             {s  検索                  /  巡回内容 \n}|
  93.             {c  指定されたファイルボードの最新のデータ一覧を表示します\n}|
  94.             {c  カンマ「,」で区切って複数指定可\n}|
  95.             {c  巡回日  }|@d2|{\n}|
  96.             {s         / 変更 \n}|
  97.             {s                        / 設定 / 削除 / 取消 },
  98.             NET,mes,lib);
  99. forum:=    @head(@getline(a,1,1),{\n});    mes:=@head(@getline(a,2,1),{\n});
  100. %sarch1    @head(@getline(a,3,1),{\n});    lib:=@head(@getline(a,4,1),{\n});    %sarch2    @head(@getline(a,5,1),{\n});    %sel    @head(@getline(a,6,1),{\n});    %ok    @head(@getline(a,7,1),{\n});
  101. case    (lib={ALL}||lib={all}||lib={,},{Yes},{lib:={}});
  102.         case    (sarch1,
  103.             { 1},{MorL:={BoD};
  104.             %mes1    @MLserch(mes,MorL);
  105.             case    (mes1<>{} && mes1<>{No},
  106.                 {Yes},
  107.                 {case    (mes={ALL}||mes={ALL}||mes={all},
  108.                     {Yes},{mes:={}});
  109.                 case    (mes<>{},
  110.                     {Yes},
  111.                     {mes:=@To3(mes);mes:=mes|{,}|mes1},
  112.                     {No},{mes:=mes1;
  113.                     });
  114.                 },
  115.                 {No},{mes:=mes
  116.                 })},
  117.             { 2},{im({Yes})
  118.             });
  119.         case    (sarch2,
  120.             { 1},{MorL:={LiB};
  121.             %lib1    @MLserch(lib,MorL);
  122.             case    (lib1<>{} && lib1<>{No},
  123.                 {Yes},
  124.                 {case    (lib<>{},
  125.                     {Yes},
  126.                     {lib:=@To3(lib);lib:=lib|{,}|lib1},
  127.                     {No},{lib:=lib1}
  128.                     );
  129.                 })},
  130.             { 2},{im({Yes})
  131.             });
  132.         case(sel==1,{Yes},{SNDMSG({erande_f.snd});d1:=@date});
  133.         case(ok,{ 0},{im({Yes})},
  134.             { 1},{TGK:=    @getline(TGK,1,n-1)|{ボード}|{/}|
  135.                 d1|{/}|forum|{/}|mes|{/}|lib|{/\n}|
  136.                 @getline(TGK,n+1);
  137.             im({No})},
  138.             { 2},{TGK:=    @getline(TGK,1,n-1)|{\n}|
  139.                 @getline(TGK,n+1);
  140.             im({No})},
  141.             { 3},{im({No})},
  142.             ,{case(ok={ 0}&&sel={ 0},
  143.                 {Yes},{im({No})},    /* 右クリックで終了 */
  144.                 {No},{im({Yes})})}
  145.             );
  146.         });
  147.     };
  148. /*    CUGボードNo.の指定    */
  149. %setCUG{[n]
  150.     var forum [8];var CUGmes [300];var pass [8];
  151.     var d1 [40];var CUGlib [300];
  152.     %TGK1    @getline(TGK,n,1);
  153.     d1:=    @case(@nth(TGK1,2,{/}),{},{im({未設定})},
  154.                     ,{im(@nth(TGK1,2,{/}))});
  155.     forum:=    @nth(TGK1,3,{/});    CUGmes:=@To3(@nth(TGK1,4,{/}));
  156.     pass:=    @nth(TGK1,5,{/});    CUGlib:=@To3(@nth(TGK1,6,{/}));
  157.     moveline:=@xlinenum;
  158.     loop    ({
  159.     footnote({巡回するCUGボードを設定してください});SNDMSG({nyuryo_f.snd});
  160.         %a @plane(
  161.             {cネット名「}|NET|{」を指定してください\n}|
  162.             {t  ネット名      /xxxxxx\n}|
  163.             {c巡回するCUGボードを設定してください\n}|
  164.             {t  CUGボード番号            /\n}|
  165.             {s                    /検索 \n}|
  166.             {c    カンマ「,」で区切って複数指定可(「#」は省略して下さい\n}|
  167.             {t  CUGボードパスワード   /xxxxxxxx\n}|
  168.             {c   指定されたCUGボードのパスワードを入力して下さい\n}|
  169.             {t  ファイルボード番号        /\n}|
  170.             {s  検索                  /  巡回内容 \n}|
  171.             {c  指定されたCUGファイルボードの最新のデータ一覧を表示\n}|
  172.             {c  カンマ「,」で区切って複数指定可\n}|
  173.             {c  巡回日  }|@d2|{\n}|
  174.             {s         / 変更 \n}|
  175.             {s                        / 設定 / 削除 / 取消 },
  176.             NET,CUGmes,pass,CUGlib);
  177. forum:=    @head(@getline(a,1,1),{\n});CUGmes:=@head(@getline(a,2,1),{\n});
  178. %sarch1    @head(@getline(a,3,1),{\n});pass:=    @head(@getline(a,4,1),{\n});
  179. CUGlib:=@head(@getline(a,5,1),{\n});%sarch2 @head(@getline(a,6,1),{\n});
  180. %sel    @head(@getline(a,7,1),{\n});    %ok    @head(@getline(a,8,1),{\n});
  181. case    (CUGlib={ALL}||CUGlib={all}||CUGlib={,},{Yes},{CUGlib:={}});
  182.         case    (sarch1,
  183.             { 1},{MorL:={BoD};
  184.             %mes1 @MLserch(CUGmes,MorL);
  185.             case    (mes1<>{} && mes1<>{No},
  186.                 {Yes},
  187.                 {case    (CUGmes<>{} && CUGmes<>{ALL}||
  188.                     CUGmes<>{} && CUGmes<>{all},
  189.                     {Yes},{CUGmes:=@To3(CUGmes);
  190.                         case    (CUGmes={ALL}
  191.                             ||CUGmes={all},
  192.                             {Yes},{CUGmes:=mes1},
  193.                             {No},{CUGmes:=CUGmes|
  194.                             {,}|mes1})
  195.                     },
  196.                     {No},{
  197.                     case    (CUGmes={ALL}||CUGmes={all},
  198.                         {Yes},{CUGmes:={}},
  199.                         {No},{CUGmes:=mes1})
  200.                     });
  201.                 })},
  202.             { 2},{im({Yes})
  203.             });
  204.         case    (sarch2,
  205.             { 1},{MorL:={LiB};
  206.             %lib1    @MLserch(CUGlib,MorL);
  207.             case    (lib1<>{} && lib1<>{No},
  208.                 {Yes},
  209.                 {case    (CUGlib<>{},
  210.                     {Yes},{
  211.                         case    (CUGlib={ALL}
  212.                             ||CUGlib={all},
  213.                             {Yes},{CUGlib:=lib1},
  214.                             {No},{
  215.                             CUGlib:=@To3(CUGlib);
  216.                             CUGlib:=CUGlib|{,}|lib1
  217.                             })
  218.                     },
  219.                     {No},{CUGlib:=lib1}
  220.                     );
  221.                 })},
  222.             { 2},{im({Yes})
  223.             });
  224.         case(sel==1,{Yes},{SNDMSG({erande_f.snd});d1:=@date});
  225.         case(ok,{ 0},{im({Yes})},
  226.             { 1},{TGK:=    @getline(TGK,1,n-1)|{CUGボード}|{/}|
  227.                 d1|{/}|forum|{/}|CUGmes|{/}|pass|{/}|CUGlib|
  228.                 {/\n}|@getline(TGK,n+1);
  229.             im({No})},
  230.             { 2},{TGK:=    @getline(TGK,1,n-1)|{\n}|
  231.                 @getline(TGK,n+1);
  232.             im({No})},
  233.             { 3},{im({No})},
  234.             ,{case(ok={ 0}&&sel={ 0},
  235.                 {Yes},{im({No})},    /* 右クリックで終了 */
  236.                 {No},{im({Yes})})}
  237.             );
  238.         });
  239.     };
  240. /*    NEWS検索の指定    */
  241. %setNEWS{[n]
  242.     var forum [8];var d1 [40];var menu[4];
  243.     %TGK1    @getline(TGK,n,1);
  244.     d1:=    @case(@nth(TGK1,2,{/}),{},{im({未設定})},
  245.                     ,{im(@nth(TGK1,2,{/}))});
  246.     forum:=    @nth(TGK1,3,{/});menu:={NEWS};
  247.     loop    ({
  248.     footnote({NEWS検索実行日を指定して下さい});SNDMSG({nyuryo_f.snd});
  249.         %a @plane(
  250.             {cネット名「}|NET|{」を指定してください\n}|
  251.             {t  ネット名      /xxxxxx\n}|
  252.             {c NEWS検索実行日を指定して下さい\n}|
  253.             {t  「NEWS」をインプットして下さい  /xxxx\n}|
  254.             {c  この指定により「FN」コマンドを発行して\n}|
  255.             {c  最近ファイルボードに登録されたデーターを表示します\n}|
  256.             {c  巡回日  }|@d2|{\n}|
  257.             {s         / 変更 \n}|
  258.             {s                        / 設定 / 削除 / 取消 },
  259.             NET,menu);
  260. forum:=    @head(@getline(a,1,1),{\n});    menu:=    @head(@getline(a,2,1),{\n});
  261. %sel    @head(@getline(a,3,1),{\n});    %ok    @head(@getline(a,4,1),{\n});
  262.         case(sel==1,{Yes},{SNDMSG({erande_f.snd});d1:=@date});
  263.         case(ok,{ 1},{TGK:=    @getline(TGK,1,n-1)|{NEWS検索}|{/}|
  264.                 d1|{/}|forum|{/}|menu|{/\n}|
  265.                 @getline(TGK,n+1);
  266.             im({No})},
  267.             { 2},{TGK:=    @getline(TGK,1,n-1)|{\n}|
  268.                 @getline(TGK,n+1);
  269.             im({No})},
  270.             { 3},{im({No})},
  271.             ,{case(ok={ 0}&&sel={ 0},
  272.                 {Yes},{im({No})},    /* 右クリックで終了 */
  273.                 {No},{im({Yes})})}
  274.             );
  275.         });
  276.     };
  277. /*    RTBBS-NETで行う処理を設定する    */
  278. %setTG    {[n]
  279.     case(@nochar(@nth(@getline(TGK,n,1),1,{/})),
  280.         0,{setTG1(n)},    /* 空文字列 */
  281.         2,{setTG1(n)},    /* 改行コードのみ */
  282.         ,
  283.         {SNDMSG({erande_f.snd});footnote({処理を選択してください});
  284.         select({処理を選択してください},
  285.             Wtime4,,
  286.             { 変  更 },{setTG1(n)},
  287.             { 削  除 },{TGK:=@getline(TGK,1,n-1)|{\n}|
  288.                         @getline(TGK,n+1)},
  289.             { 中  止 },);
  290.         });
  291.     };
  292. %setTG1{[n]
  293.     case(@nth(@getline(TGK,n,1),1,{/}),
  294.         {ボード},{setBOARD(n)},{CUGボード},{setCUG(n)},
  295.         {SIGボード},{setCUG(n)},{NEWS検索},{setNEWS(n)},,
  296.         {SNDMSG({erande_f.snd});
  297.           footnote(NET|{-NETで行う処理を指定して下さい});
  298.           select(NET|{-NETで行う処理を指定して下さい},
  299.             Wtime4,,
  300.             {  NEWS検索   },{setNEWS(n)},
  301.             {  ボード     },{setBOARD(n)},
  302.             {  CUGボード  },{setCUG(n)},
  303.             {     終了     },);
  304.         });
  305.     };
  306. /*    NIFTYで行う処理を並べ変える    */
  307. %renTG    {var num[72];var count[72];var TGK2[3074];
  308.     count:=0;num:={};TGK2:={};
  309.     %tg01    @tgk(1);    %tg02    @tgk(2);    %tg03    @tgk(3);        %tg04    @tgk(4);    %tg05    @tgk(5);    %tg06    @tgk(6);
  310.     %renum    {[n]
  311.         case    (num,{},{num:=n},,{num:=num|{,}|n});
  312.         case(TGK2,{},{TGK2:=@getline(TGK,n,1)},
  313.             ,{TGK2:=TGK2|@getline(TGK,n,1)});
  314.         count:=count+1;
  315.         };
  316.     %cancel1{case(count>0,{Yes},{count:=count-1});
  317.         case(count>0,{Yes},{TGK2:=@getline(TGK2,1,count)},
  318.             {No}, {TGK2:={}});
  319.         num:=@body(num,,{,});
  320.         };
  321.     loop    ({SNDMSG({erande_f.snd});
  322.         footnote(NET|{-NETで行う順序を指定して下さい});
  323.         display    ({現在 }|num|{ が指定されています\n});
  324.         select    (NET|{-NETで行う順序を指定して下さい},,,
  325.             tg01,{renum(1);im({Yes})},tg02,{renum(2);im({Yes})},
  326.             tg03,{renum(3);im({Yes})},tg04,{renum(4);im({Yes})},
  327.             tg05,{renum(5);im({Yes})},tg06,{renum(6);im({Yes})},
  328.             {    一  個  取  消    },{cancel1;im({Yes})},
  329.             {      全  取  消      },{num:={};TGK2:={};im({Yes})},
  330.             {    指  定  終  了    },{TGK:=TGK2;im({No})});
  331.         });
  332.     };
  333. /*    設定情報をファイルに保存する    */
  334. %SAVE    {var    newfile    [64];
  335.     newfile:=NET|{.TG};
  336.     case(newfile<>{},{Yes},{
  337.         %newdir    @getcdir;
  338.         case(@nochar(newdir)==3,
  339.             {Yes},{newfile:=newdir|newfile},
  340.             {No},{newfile:=newdir|{\}|newfile});
  341.         delfile(newfile);
  342.         write(newfile,{TGK    :=}|@xc({7b})|TGK|@xc({7d})|{;\n});
  343.         });
  344.     footnote(NET|{.TGファイルに設定を保存しました});wait(2);
  345.     setcdir(CDIR);
  346.     };
  347. /*    ファイルから設定情報を読み込む    */
  348. %LOAD    {var    newfile    [64];SNDMSG({erande_f.snd});
  349.     footnote({設定を読み込むファイルを指定して下さい});
  350.     newfile:=@filesel({TG});
  351.     case    (newfile<>{},
  352.         {Yes},
  353.         {
  354.         %newdir    @getcdir;
  355.         case    (@nochar(newdir)==3,
  356.             {Yes},{newfile:=newdir|newfile},
  357.             {No},{newfile:=newdir|{\}|newfile}
  358.             );
  359.         case    (@filechk(newfile),{Yes},
  360.             {
  361.             %ExcPilot {#}|newfile;
  362.             ExcPilot;setcdir(CDIR);
  363.             SETFILE2:=@tail(newfile,{\});
  364.             TGK:=@LINECUT(TGK);
  365.             });
  366.         });
  367.     setcdir(CDIR);
  368.     };
  369. /*    BBS-NETで行う処理を設定する    */
  370. %setBBS{
  371.     TGK:=@LINECUT(TGK);
  372.     loop    ({SNDMSG({erande_f.snd});
  373.     footnote(NET|{-NETで行う処理は曜日&日付で選択出来ますよ});
  374.         select    (NET|{-NETで行う処理を指定して下さい},,,
  375.             @tgk(1),{setTG(1);im({Yes})},
  376.             @tgk(2),{setTG(2);im({Yes})},
  377.             @tgk(3),{setTG(3);im({Yes})},
  378.             @tgk(4),{setTG(4);im({Yes})},
  379.             @tgk(5),{setTG(5);im({Yes})},
  380.             @tgk(6),{setTG(6);im({Yes})},
  381.             { 順  序  変  更     },{renTG;im({Yes})},
  382.              { もとの設定にもどす    },{CANCEL;im({Yes})},
  383.             { 設定をファイルに保存>}|NET|{.TG},{SAVE;im({Yes})},
  384.             { ファイルから設定を読込<*.TG},{LOAD;im({Yes})},
  385.             { 設定を保存して終了>DORATGK.SET},{writeTG;im({No})},
  386.             {保存しない(一時的な変更)},
  387.             {SETFILE2:={一時設定};im({No})}
  388.             )})};
  389. setBBS;